﻿#include "FITKSEASubSysShellRadiationWare.h"
#include "FITK_Component/FITKAcousticsPhysics/FITKAcousticsAbstractSpectra.h"
#include "FITK_Kernel/FITKCore/FITKDataRepo.h"

namespace Acoustics
{
    void FITKSEASubSysShellRadiationWare::setEffRadiationAreaMagnification(double magnification)
    {
        //设置有效辐射面积放大倍数
        _effRadiationAreaMagnification = magnification;
    }

    double FITKSEASubSysShellRadiationWare::getEffRadiationAreaMagnification()
    {
        //获取有效辐射面积放大倍数
        return _effRadiationAreaMagnification;
    }

    void FITKSEASubSysShellRadiationWare::setEffRadiationPerimeterMagnification(double magnification)
    {
        //设置有效辐射周长放大倍数
        _effRadiationPerimeterMagnification = magnification;
    }

    double FITKSEASubSysShellRadiationWare::getEffRadiationPerimeterMagnification()
    {
        //获取有效辐射周长放大倍数
        return _effRadiationPerimeterMagnification;
    }

    void FITKSEASubSysShellRadiationWare::setFlexureInSEAMatrixSolution(bool state)
    {
        //设置弯曲波在SEA解决方案的启用状态
        _flexureInSEAMatrixSolution = state;
    }

    bool FITKSEASubSysShellRadiationWare::getFlexureInSEAMatrixSolution()
    {
        //获取弯曲波在SEA解决方案的启用状态
        return _flexureInSEAMatrixSolution;
    }

    void FITKSEASubSysShellRadiationWare::setFlexureCorrectionSDP(bool state)
    {
        //设置弯曲波对分层面板校正的启用状态
        _flexureCorrectionSDP = state;
    }

    bool FITKSEASubSysShellRadiationWare::getFlexureCorrectionSDP()
    {
        //获取弯曲波对分层面板校正的启用状态
        return _flexureCorrectionSDP;
    }

    void FITKSEASubSysShellRadiationWare::setFlexureSDPLengthMagnification(double magnification)
    {
        //设置弯曲波对分层面板的长的放大倍数
        _flexureSDPLengthMagnification = magnification;
    }

    double FITKSEASubSysShellRadiationWare::getFlexureSDPLengthMagnification()
    {
        //获取弯曲波对分层面板的长的放大倍数
        return _flexureSDPLengthMagnification;
    }

    void FITKSEASubSysShellRadiationWare::setFlexureSDPWidthMagnification(double magnification)
    {
        //设置弯曲波对分层面板的宽的放大倍数
        _flexureSDPWidthMagnification = magnification;
    }

    double FITKSEASubSysShellRadiationWare::getFlexureSDPWidthMagnification()
    {
        //获取弯曲波对分层面板的宽的放大倍数
        return _flexureSDPWidthMagnification;
    }

    void FITKSEASubSysShellRadiationWare::setFlexureModelDensityState(bool state)
    {
        //设置弯曲波对模态密度的启用状态
        _flexureModelDensityState = state;
    }

    bool FITKSEASubSysShellRadiationWare::getFlexureModelDensityState()
    {
        //获取弯曲波对模态密度的启用状态
        return _flexureModelDensityState;
    }

    void FITKSEASubSysShellRadiationWare::setFlexureModelDensityID(int id)
    {
        //设置弯曲波的模态密度id
        _flexureModelDensityID = id;
    }

    int FITKSEASubSysShellRadiationWare::getFlexureModelDensityID()
    {
        //获取弯曲波的模态密度id
        return _flexureModelDensityID;
    }

    FITKAcousticsAbstractSpectra* FITKSEASubSysShellRadiationWare::getFlexureModelDensity()
    {
        //获取弯曲波的模态密度
        return FITKDATAREPO->getTDataByID<FITKAcousticsAbstractSpectra>(_flexureModelDensityID);
    }

    void FITKSEASubSysShellRadiationWare::setExtensionInSEAMatrixSolution(bool state)
    {
        //设置拉伸波在SEA解决方案的启用状态
        _extensionInSEAMatrixSolution = state;
    }

    bool FITKSEASubSysShellRadiationWare::getExtensionInSEAMatrixSolution()
    {
        //获取拉伸波在SEA解决方案的启用状态
        return _extensionInSEAMatrixSolution;
    }

    void FITKSEASubSysShellRadiationWare::setExtensionModelDensityState(bool state)
    {
        //设置拉伸波对模态密度的启用状态
        _extensionModelDensityState = state;
    }

    bool FITKSEASubSysShellRadiationWare::getExtensionModelDensityState()
    {
        //获取拉伸波对模态密度的启用状态
        return _extensionModelDensityState;
    }

    void FITKSEASubSysShellRadiationWare::setExtensionModelDensityID(int id)
    {
        //设置拉伸波的模态密度id
        _extensionModelDensityID = id;
    }

    int FITKSEASubSysShellRadiationWare::getExtensionModelDensityID()
    {
        //获取拉伸波的模态密度id
        return _extensionModelDensityID;
    }

    FITKAcousticsAbstractSpectra* FITKSEASubSysShellRadiationWare::getExtensionModelDensity()
    {
        //获取拉伸波的模态密度
        return FITKDATAREPO->getTDataByID<FITKAcousticsAbstractSpectra>(_extensionModelDensityID);
    }

    void FITKSEASubSysShellRadiationWare::setShearInSEAMatrixSolution(bool state)
    {
        //设置剪切波在SEA解决方案的启用状态
        _shearInSEAMatrixSolution = state;
    }

    bool FITKSEASubSysShellRadiationWare::getShearInSEAMatrixSolution()
    {
        //获取剪切波在SEA解决方案的启用状态
        return _shearInSEAMatrixSolution;
    }

    void FITKSEASubSysShellRadiationWare::setShearModelDensityState(bool state)
    {
        //设置剪切波对模态密度的启用状态
        _shearModelDensityState = state;
    }

    bool FITKSEASubSysShellRadiationWare::getShearModelDensityState()
    {
        //获取剪切波对模态密度的启用状态
        return _shearModelDensityState;
    }

    void FITKSEASubSysShellRadiationWare::setShearModelDensityID(int id)
    {
        //设置剪切波的模态密度
        _shearModelDensityID = id;
    }

    int FITKSEASubSysShellRadiationWare::getShearModelDensityID()
    {
        //获取剪切波的模态密度id
        return _shearModelDensityID;
    }

    FITKAcousticsAbstractSpectra* FITKSEASubSysShellRadiationWare::getShearModelDensity()
    {
        //获取剪切波的模态密度
        return FITKDATAREPO->getTDataByID<FITKAcousticsAbstractSpectra>(_shearModelDensityID);
    }
}


